﻿//using System;
//using System.Collections.Generic;
//using System.Text;

//namespace DCRF.Common.Attributes
//{
//    [global::System.AttributeUsage(AttributeTargets.Field, Inherited = true, AllowMultiple = true)]
//    public sealed class BlockConnectorAttribute : Attribute
//    {
//        private string myName = null;
//        private bool allowMultipleEndPoints = false;

//        //private string myReturnType = null;
//        //private BlockConnectorType type = BlockConnectorType.General;

//        //private List<string> myInputs = new List<string>();
//        //private List<string> inputTypes = new List<string>();

//        public BlockConnectorAttribute(string name): this(name, BlockConnectorType.General)
//        {
//        }

//        public BlockConnectorAttribute(string name, BlockConnectorType type)
//            : this(name, type, true)
//        {
//        }

//        public BlockConnectorAttribute(string name, BlockConnectorType type, bool allowMultiple)
//        {
//            myName = name;
//            this.type = type;
//        }

//        public string ConnectorKey
//        {
//            get
//            {
//                return myName;
//            }
//        }

//    //    private string signature = null;

//    //    public string Signature
//    //    {
//    //        get
//    //        {
//    //            if (signature == null)
//    //            {
//    //                StringBuilder sb = new StringBuilder();

//    //                for (int i = 0; i < myInputs.Count; i++)
//    //                {
//    //                    sb.Append(string.Format("{0} {1}", inputTypes[i], myInputs[i]));

//    //                    if ( i < myInputs.Count-1) sb.Append(", ");
//    //                }

//    //                signature = string.Format("{0} {1}({2})", myReturnType, myName, sb.ToString());
//    //            }

//    //            return signature;
//    //        }
//    //    }
//    }

//    public enum BlockConnectorType
//    {
//        Value,
//        Event,
//        Service,
//        Block,
//        General
//    }
//}
